home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / lib / sendmail / RCS / sendmail.cf,v < prev   
Text File  |  1991-08-14  |  17KB  |  670 lines

  1. head     1.3;
  2. branch   ;
  3. access   ;
  4. symbols  ;
  5. locks    ; strict;
  6. comment  @@;
  7.  
  8.  
  9. 1.3
  10. date     91.08.14.12.51.25;  author shirriff;  state Exp;
  11. branches ;
  12. next     1.2;
  13.  
  14. 1.2
  15. date     90.05.08.22.47.52;  author douglis;  state Exp;
  16. branches ;
  17. next     1.1;
  18.  
  19. 1.1
  20. date     90.03.16.10.23.08;  author douglis;  state Exp;
  21. branches ;
  22. next     ;
  23.  
  24.  
  25. desc
  26. @sendmail configuration file, with minor mods for sprite.
  27. @
  28.  
  29.  
  30. 1.3
  31. log
  32. @Fixed a bug with mail getting in an infinite loop sprite->allspice->sprite
  33. @
  34. text
  35. @#
  36. #  Sendmail
  37. #  Copyright (c) 1983  Eric P. Allman
  38. #  Berkeley, California
  39. #
  40. #  Copyright (c) 1983 Regents of the University of California.
  41. #  All rights reserved.  The Berkeley software License Agreement
  42. #  specifies the terms and conditions for redistribution.
  43. #
  44. #    @@(#)renoir.mc    1.10 (Berkeley) 4/25/87
  45. #
  46. ############################################################
  47. ############################################################
  48. #####
  49. #####        SENDMAIL CONFIGURATION FILE
  50. #####
  51. ############################################################
  52. ############################################################
  53.  
  54.  
  55.  
  56. ##################
  57. #   local info   #
  58. ##################
  59.  
  60. # internet hostname    REPLACE HOSTNAME WITH YOUR MACHINE NAME HERE
  61. # The w variable contains the name of the host on which the sendmail is
  62. # running, while the w class contains the name(s) of the local host and
  63. # those of the main mail server as well.
  64. #
  65. Dwsprite.Berkeley.EDU
  66. CwLOCAL sprite where
  67.  
  68. #############################
  69. ###   Setup Information   ###
  70. #############################
  71.  
  72.  
  73. ######################
  74. #   General Macros   #
  75. ######################
  76.  
  77. # our arpanet gateway.  Since ucbvax is highly loaded and ginger is 
  78. # NIC-registed, let's make outgoing mail claim to be from 
  79. # user%spur-host@@ginger.Berkeley.EDU instead of @@Berkeley.EDU. 
  80. # ... FD 2/12/88
  81. DAginger.Berkeley.EDU
  82.  
  83. # local domain names
  84. DDBerkeley.EDU
  85.  
  86. # major relay host
  87. DRucbvax
  88.  
  89. # bitnet relay
  90. DCjade
  91.  
  92. # berknet relay
  93. DB$R
  94.  
  95. # my official hostname
  96. Dj$w
  97.  
  98.  
  99.  
  100. ###############
  101. #   Classes   #
  102. ###############
  103.  
  104. # our arpanet gateway
  105. CABerkeley UCB ucbc70 c70 UCB-C70 u UCB-VAX ucbvax
  106.  
  107. # local domain names
  108. CDBERKELEY UCB ucbc70 c70 ucb-c70 u UCB-VAX ucbvax
  109.  
  110. # major relay host
  111. CRucbvax vax
  112.  
  113. # all supported top-level domains
  114. CKLOCAL ARPA UUCP BITNET CSNET EDU MIL COM GOV AU IL NET ORG UK US
  115.  
  116. # local domains
  117. CTLOCAL ARPA UUCP BITNET CSNET
  118.  
  119. # legal Internet top-level domains
  120. CPARPA EDU MIL GOV COM IL NET ORG UK US
  121.  
  122. # Internal domains that we use in rewriting (not known by NIC)
  123. CILOCAL UUCP BITNET CSNET DEC MailNET CC
  124.  
  125.  
  126.  
  127. ############################################################
  128. ############################################################
  129. #####
  130. #####    BERKELEY HOSTS REGISTERED WITH THE NIC
  131. #####
  132. ############################################################
  133. ############################################################
  134.  
  135.  
  136. CNbach ucbbach
  137. CNbizet ucbbizet
  138. CNbrahms ucbbrahms
  139. CNcad ucbcad
  140. CNcartan ucbcartan
  141. CNdegas ucbdegas
  142. CNeast ucbeast
  143. CNernie ucbernie
  144. CNesvax ucbesvax
  145. CNginger ucbginger
  146. CNingres ucbingres
  147. CNjade ucbjade
  148. CNji ucbji
  149. CNmedea ucbmedea
  150. CNmike ucbmike
  151. CNmonet ucbmonet
  152. CNoz ucboz
  153. CNrenoir ucbrenoir
  154. CNshadow ucbshadow
  155. CNucbarpa
  156. CNucbvax
  157. CNviolet ucbviolet
  158. CNweyl ucbweyl
  159.  
  160.  
  161. ######################
  162. #   Version Number   #
  163. ######################
  164.  
  165. DZ1.29
  166.  
  167.  
  168. ######################
  169. #   Special macros   #
  170. ######################
  171.  
  172. # my name
  173. DnMAILER-DAEMON
  174. # UNIX header format
  175. DlFrom $g  $d
  176. # delimiter (operator) characters
  177. Do.:%@@!^=/[]
  178. # format of a total name
  179. Dq$g$?x ($x)$.
  180. # SMTP login message
  181. De$j Sendmail $v/$Z ready at $b
  182.  
  183. # forwarding host -- redefine this if you can't talk to the relay directly #
  184. DF$R
  185.  
  186. ###############
  187. #   Options   #
  188. ###############
  189.  
  190. # location of alias file
  191. OA/sprite/lib/sendmail/aliases
  192. # wait up to ten minutes for alias file rebuild
  193. # actually, since we don't use dbm anymore, this is irrelevant
  194. Oa10
  195. # substitution for space (blank) characters
  196. OB.
  197. # (don't) connect to "expensive" mailers
  198. #Oc
  199. # default delivery mode (deliver in background)
  200. Odbackground
  201. # temporary file mode
  202. OF0600
  203. # default GID
  204. Og1
  205. # location of help file
  206. OH/sprite/lib/sendmail/sendmail.hf
  207. # log level
  208. # default is 9; we use 8 as cutoff for uninteresting messages.
  209. OL8
  210. # default network name
  211. ONARPA
  212. # default messages to old style
  213. Oo
  214. # queue directory
  215. OQ/sprite/spool/mqueue
  216. # read timeout -- violates protocols
  217. Or2h
  218. # status file
  219. # we need to use md as a link to $MACHINE.md because otherwise sendmail
  220. # interprets the $ incorrectly.
  221. OS/sprite/lib/sendmail/md/sendmail.st
  222. # queue up everything before starting transmission
  223. Os
  224. # default timeout interval
  225. OT3d
  226. # time zone names (V6 only)
  227. OtPST,PDT
  228. # default UID
  229. Ou1
  230. # wizard's password
  231. OW*
  232. # load average at which we just queue messages
  233. Ox8
  234. # load average at which we refuse connections
  235. OX12
  236.  
  237. ###########################
  238. #   Message precedences   #
  239. ###########################
  240.  
  241. Pfirst-class=0
  242. Pspecial-delivery=100
  243. Pbulk=-60
  244. Pjunk=-100
  245.  
  246. #####################
  247. #   Trusted users   #
  248. #####################
  249.  
  250. Troot
  251. Tdaemon
  252. Tuucp
  253. Teric
  254. Tnetwork
  255.  
  256. #########################
  257. #   Format of headers   #
  258. #########################
  259.  
  260. H?P?Return-Path: <$g>
  261. HReceived: $?sfrom $s $.by $j ($v/$Z)
  262.     id $i; $b
  263. H?D?Resent-Date: $a
  264. H?D?Date: $a
  265. H?F?Resent-From: $q
  266. H?F?From: $q
  267. H?x?Full-Name: $x
  268. HSubject:
  269. # HPosted-Date: $a
  270. # H?l?Received-Date: $b
  271. H?M?Resent-Message-Id: <$t.$i@@$j>
  272. H?M?Message-Id: <$t.$i@@$j>
  273.  
  274.  
  275.  
  276. ###########################
  277. ###   Rewriting Rules   ###
  278. ###########################
  279.  
  280.  
  281. ################################
  282. #  Sender Field Pre-rewriting  #
  283. ################################
  284. S1
  285. #R$*<$*>$*        $1$2$3                defocus
  286.  
  287. ###################################
  288. #  Recipient Field Pre-rewriting  #
  289. ###################################
  290. S2
  291. #R$*<$*>$*        $1$2$3                defocus
  292.  
  293.  
  294.  
  295. #################################
  296. #  Final Output Post-rewriting  #
  297. #################################
  298. S4
  299.  
  300. R@@            $@@                handle <> error addr
  301.  
  302. # resolve numeric addresses to name if possible
  303. R$*<@@[$+]>$*        $:$1<@@$[[$2]$]>$3        lookup numeric internet addr
  304.  
  305. # externalize local domain info
  306. R$*<$+>$*        $1$2$3                defocus
  307. R@@$+:@@$+:$+        @@$1,@@$2:$3            <route-addr> canonical
  308.  
  309. # UUCP must always be presented in old form (with domains, leave the ".uucp")
  310. R$+@@$-.UUCP        $2!$1                u@@h.UUCP => h!u
  311. R$+@@$-.$-.UUCP        $2.$3.uucp!$1            u@@h.UUCP => h!u
  312. R$+@@$-.$-.$-.UUCP    $2.$3.$4.uucp!$1        u@@h.UUCP => h!u
  313. R$+@@$-.$-.$-.$-.UUCP    $2.$3.$4.$5.uucp!$1        u@@h.UUCP => h!u
  314. R$+@@$-.$-.$-.$-.$-.UUCP    $2.$3.$4.$5.$6.uucp!$1        u@@h.UUCP => h!u
  315.  
  316. # delete duplicate local names -- mostly for arpaproto.mc
  317. R$+%$=w@@$=w        $1@@$w                u%UCB@@UCB => u@@UCB
  318. R$+%$=w@@$=w.$D        $1@@$w                u%UCB@@UCB => u@@UCB
  319.  
  320.  
  321.  
  322. ###########################
  323. #  Name Canonicalization  #
  324. ###########################
  325. S3
  326.  
  327. # handle "from:<>" special case
  328. R<>            $@@@@                turn into magic token
  329.  
  330. # basic textual canonicalization -- note RFC733 heuristic here
  331. R$*<$*<$*<$+>$*>$*>$*    $4                3-level <> nesting
  332. R$*<$*<$+>$*>$*        $3                2-level <> nesting
  333. R$*<$+>$*        $2                basic RFC821/822 parsing
  334. R$+ at $+        $1@@$2                "at" -> "@@" for RFC 822
  335.  
  336. # make sure <@@a,@@b,@@c:user@@d> syntax is easy to parse -- undone later
  337. R@@$+,$+            @@$1:$2                change all "," to ":"
  338.  
  339. # localize and dispose of route-based addresses
  340. R@@$+:$+            $@@$>6<@@$1>:$2            handle <route-addr>
  341.  
  342. # more miscellaneous cleanup
  343. R$+            $:$>8$1                host dependent cleanup
  344. R$+:$*;@@$+        $@@$1:$2;@@$3            list syntax
  345. R$+:$*;            $@@$1:$2;            list syntax
  346. R$+@@$+            $:$1<@@$2>            focus on domain
  347. R$+<$+@@$+>        $1$2<@@$3>            move gaze right
  348. R$+<@@$+>        $@@$>6$1<@@$2>            already canonical
  349.  
  350. # convert old-style addresses to a domain-based address
  351. R$+^$+            $1!$2                convert ^ to !
  352. R$-!$+            $@@$>6$2<@@$1.UUCP>        resolve uucp names
  353. R$+.$-!$+        $@@$>6$3<@@$1.$2>            domain uucps
  354. R$+!$+            $@@$>6$2<@@$1.UUCP>        uucp subdomains
  355. R$-:$+            $@@$>6$2<@@$1>            host:user
  356. R$-=$+            $@@$>6$2<@@$1.BITNET>        resolve bitnet names
  357. R$+%$+            $:$>9$1%$2            user%host
  358. R$+<@@$+>        $@@$>6$1<@@$2>            already canonical
  359. R$-.$+            $@@$>6$2<@@$1>            host.user
  360.  
  361.  
  362. #################################
  363. #   special local conversions   #
  364. #################################
  365.  
  366. S6
  367. R$*<@@$=w>$*        $:$1<@@$w>$3            get into u@@$w form
  368. R$*<@@$=w.$D>$*        $:$1<@@$w>$3
  369. R$*<@@$=w.EDU>$*        $:$1<@@$w>$3
  370. R$*<@@$=U.UUCP>$*    $:$1<@@$w>$3
  371.  
  372. ################################
  373. #   Change rightmost % to @@.   #
  374. ################################
  375.  
  376. S9
  377. R$*%$*            $1@@$2                First make them all @@'s.
  378. R$*@@$*@@$*        $1%$2@@$3            Undo all but the last.
  379. R$*@@$*            $@@$1<@@$2>            Put back the brackets.
  380.  
  381.  
  382.  
  383. ###################
  384. ###   Mailers   ###
  385. ###################
  386.  
  387.  
  388. ############################################################
  389. ############################################################
  390. #####
  391. #####        Local and Program Mailer specification
  392. #####
  393. ############################################################
  394. ############################################################
  395.  
  396. # we need to use md as a link to $MACHINE.md because otherwise sendmail
  397. # interprets the $ incorrectly.
  398. Mlocal,    P=/sprite/lib/sendmail/md/mail, F=rlsDFMmn, S=10, R=20, A=mail -d $u
  399. Mprog,    P=/sprite/cmds/sh,   F=ElsDFMe,   S=10, R=20, A=sh -c $u
  400.  
  401. S10
  402. R@@            $n            errors to mailer-daemon
  403.  
  404.  
  405. ############################################################
  406. ############################################################
  407. #####
  408. #####        Arpanet TCP Mailer specification
  409. #####
  410. #####    Messages processed by this specification are assumed to leave
  411. #####    the local domain -- hence, they must be canonical according to
  412. #####    RFC822 etc.
  413. #####
  414. #####    This mailer is to be used with the Berkeley Name Server.
  415. #####
  416. ############################################################
  417. ############################################################
  418.  
  419. Mtcp,    P=[IPC], F=mDFMueXLC, S=14, R=24, A=IPC $h, E=\r\n
  420.  
  421. S14
  422.  
  423. # pass <route-addr>'s through
  424. R<@@$+>$*        $@@<@@$[$1$]>$2            resolve <route-addr>
  425.  
  426. # map colons to dots everywhere
  427. R$*:$*            $1.$2                map colons to dots
  428.  
  429. # output local host in user@@host.BERKELEY.EDU syntax
  430. R$-            $1<@@$w>                user w/o host
  431. R$+<@@$=w>        $:$1<@@$w>            this host
  432. R$+<@@$->        $:$1<@@$[$2$]>            canonicalize into dom
  433. R$+<@@$->        $:$1<@@$2.$D>            if nameserver fails
  434. #Remove original restriction for nic-registered hosts
  435. #R$+<@@$=N.$D>        $@@$1<@@$2.$D>            nic-reg hosts are ok
  436. #R$+<@@$*.$D>        $@@$1%$2.$D<@@$A>            else -> u%h@@gateway
  437. R$+<@@$*.$D>        $@@$1<@@$2.$D>            all hosts okay
  438.  
  439. # if not local, and not a "fake" domain, ask the nameserver
  440. R$+<@@$+.$~I>        $@@$1<@@$[$2.$3$]>        user@@host.domain
  441. R$+<@@[$+]>        $@@$1<@@[$2]>            already ok
  442.  
  443. # output internal ("fake") domains as "user%host@@relay"
  444.  
  445. R$+<@@$+.CSNET>        $@@$1%$2.CSNET<@@relay.cs.net>    user@@host.CSNET
  446. R$+<@@$+.BITNET>        $@@$1%$2.BITNET<@@jade.berkeley.edu>    user@@host.BITNET
  447. R$+<@@$+.UUCP>        $@@$2!$1<@@$w>            user@@host.UUCP
  448.  
  449.  
  450. S24
  451.  
  452. # put in <> kludge
  453. R$*<$*>$*        $1$2$3                defocus
  454. R$*            $:$>3$1                now canonical form
  455.  
  456. # pass <route-addr>'s through
  457. R<@@$+>$*        $@@<@@$[$1$]>$2            resolve <route-addr>
  458.  
  459. # map colons to dots everywhere.....
  460. R$*:$*            $1.$2                map colons to dots
  461.  
  462. # output local host in user@@host.domain syntax
  463. R$-            $1<@@$w>                user w/o host
  464. R$+<@@$=w>        $:$1<@@$w>            this host
  465. R$+<@@$->        $:$1<@@$[$2$]>            canonicalize into dom
  466. R$+<@@$->        $:$1<@@$2.$D>            if nameserver fails
  467. #Remove original restriction for nic-registered hosts
  468. #R$+<@@$=N.$D>        $@@$1<@@$2.$D>            nic-reg hosts are ok
  469. #R$+<@@$*.$D>        $@@$1%$2.$D<@@$A>            else -> u%h@@gateway
  470. R$+<@@$*.$D>        $@@$1<@@$2.$D>            all hosts okay
  471.  
  472. # if not local, and not a "fake" domain, ask the nameserver
  473. R$+<@@$+.$~I>        $@@$1<@@$[$2.$3$]>        user@@host.domain
  474. R$+<@@[$+]>        $@@$1<@@[$2]>            already ok
  475.  
  476. # Hide fake domains behind gateways
  477.  
  478. R$+<@@$+.CSNET>        $@@$1%$2.CSNET<@@relay.cs.net>    user@@host.CSNET
  479. R$+<@@$+.BITNET>        $@@$1<@@$2.BITNET>        user@@host.BITNET
  480. R$+<@@$+.UUCP>        $@@$2!$1                user@@host.UUCP
  481.  
  482.  
  483.  
  484. ############################################################
  485. ############################################################
  486. #####
  487. #####        Local Domain TCP Mailer specification
  488. #####
  489. #####    Messages processed by this specification are assumed to remain
  490. #####    the local domain -- hence, they must be canonical according to
  491. #####    RFC822 etc.
  492. #####
  493. #####    This mailer is to be used with the Berkeley Name Server.
  494. #####
  495. ############################################################
  496. ############################################################
  497.  
  498. Mtcpld,    P=[IPC], F=mDFMueXLC, S=17, R=27, A=IPC $h, E=\r\n
  499.  
  500. S17
  501.  
  502. # cleanup forwarding a bit
  503. R$*<$*>$*        $1$2$3                defocus
  504. R$*            $:$>3$1                canonicalize
  505. R$*%$*<@@$w>        $:$>9$1%$2            user%localhost@@localdomain
  506.  
  507. # pass <route-addr>'s through
  508. R<@@$+>$*        $@@<@@$[$1$]>$2            resolve <route-addr>
  509.  
  510. # map colons to dots everywhere
  511. R$*:$*            $1.$2                map colons to dots
  512.  
  513. # output local host as user@@host.domain
  514. R$-            $@@$1<@@$w>            user w/o host
  515. R$+<@@$w>        $@@$1<@@$w>            this host
  516. R$+<@@$=w>        $@@$1<@@$w>            or an alias
  517. R$+<@@$->        $:$1<@@$[$2$]>            ask nameserver
  518. R$+<@@$w>        $@@$1<@@$w>            this host
  519. R$+<@@$->        $@@$1<@@$2.$D>            if nameserver fails
  520.  
  521. # if not local, and not a "fake" domain, ask the nameserver
  522. R$+<@@$+.$~I>        $@@$1<@@$[$2.$3$]>        user@@host.domain
  523. R$+<@@[$+]>        $@@$1<@@[$2]>            already ok
  524.  
  525. # output fake domains as user%fake@@relay
  526.  
  527. R$+<@@$+.CSNET>        $@@$1%$2.CSNET<@@relay.cs.net>    user@@host.CSNET
  528. R$+<@@$+.BITNET>        $@@$1%$2.BITNET<@@jade.berkeley.edu>     user@@host.bitnet
  529. R$+<@@$+.UUCP>        $@@$2!$1<@@$w>            user@@host.UUCP
  530.  
  531.  
  532. S27
  533.  
  534. # cleanup
  535. R$*<$*>$*        $1$2$3                defocus
  536. R$*            $:$>3$1                now canonical form
  537. R$*%$*<@@$w>        $:$>9$1%$2            user%localhost@@localdomain
  538.  
  539. # pass <route-addr>'s through
  540. R<@@$+>$*        $@@<@@$[$1$]>$2            resolve <route-addr>
  541.  
  542. # map colons to dots everywhere
  543. R$*:$*            $1.$2                map colons to dots
  544.  
  545. # output local host as user@@host.domain
  546. R$-            $@@$1<@@$w>            user w/o host
  547. R$+<@@$w>        $@@$1<@@$w>            this host
  548. R$+<@@$=w>        $@@$1<@@$w>            or an alias
  549. R$+<@@$->        $:$1<@@$[$2$]>            ask nameserver
  550. R$+<@@$w>        $@@$1<@@$w>            this host
  551. R$+<@@$->        $@@$1<@@$2.$D>            if nameserver fails
  552.  
  553. # if not local, and not a "fake" domain, ask the nameserver
  554. R$+<@@$+.$~I>        $@@$1<@@$[$2.$3$]>        user@@host.domain
  555. R$+<@@[$+]>        $@@$1<@@[$2]>            already ok
  556.  
  557. # output fake domains as user%fake@@relay
  558.  
  559. R$+<@@$+.CSNET>        $@@$1%$2.CSNET<@@relay.cs.net>    user@@host.CSNET
  560. R$+<@@$+.BITNET>        $@@$1<@@$2.BITNET>        user@@host.BITNET
  561. R$+<@@$+.UUCP>        $@@$2!$1                user@@host.UUCP
  562.  
  563.  
  564.  
  565.  
  566.  
  567. #####################
  568. ###   Rule Zero   ###
  569. #####################
  570.  
  571.  
  572. ############################################################
  573. ############################################################
  574. #####
  575. #####        RULESET ZERO PREAMBLE
  576. #####
  577. #####    The beginning of ruleset zero is constant through all
  578. #####    configurations.
  579. #####
  580. ############################################################
  581. ############################################################
  582.  
  583. S0
  584.  
  585. # first make canonical
  586. R$*<$*>$*        $1$2$3                defocus
  587. R$+            $:$>3$1                make canonical
  588.  
  589. # handle special cases
  590. R$*<@@[$+]>$*        $:$1<@@$[[$2]$]>$3        lookup numeric internet addr
  591. R$*<@@[$+]>$*        $#tcp$@@[$2]$:$1@@[$2]$3        numeric internet spec
  592. R$+            $:$>6$1
  593. R$-<@@$w>        $#local$:$1
  594. R@@            $#error$:Invalid address    handle <> form
  595.  
  596. # now delete the local info (extra, in case the name server messes up)
  597. R<@@$w>:$*        $@@$>0$1                @@here:... -> ...
  598. R$*<@@$w>        $@@$>0$1                ...@@here -> ...
  599.  
  600. # canonicalize using the nameserver if not internal domain
  601. R$*<@@$*.$~I>$*        $:$1<@@$[$2.$3$]>$4
  602. R$*<@@$->$*        $:$1<@@$[$2$]>$3
  603. R$*<@@$->$*        $:$1<@@$2.$D>$3            if nameserver fails
  604.  
  605. # now delete the local info
  606. R<@@$w>:$*        $@@$>0$1                @@here:... -> ...
  607. R$*<@@$w>        $@@$>0$1                ...@@here -> ...
  608.  
  609. # forward around hosts with communication problems
  610. R$*<@@$=F>$*        $#tcp$@@$F$:$1<@@$2>$3        reroute message
  611.  
  612. ##################################
  613. #  End of ruleset zero preamble  #
  614. ##################################
  615.  
  616.  
  617. ###############################################
  618. ###   Machine dependent part of Rule Zero   ###
  619. ###############################################
  620.  
  621.  
  622.  
  623.  
  624.  
  625. # resolve fake top level domains by forwarding to other hosts
  626. R$*<@@$+.BITNET>$*    $#tcpld$@@jade.berkeley.edu$:$1<@@$2.BITNET>$3    user@@host.BITNET
  627. R$*<@@$+.CSNET>$*    $#tcp$@@relay.cs.net$:$1<@@$2.CSNET>$3    user@@host.CSNET
  628.  
  629.  
  630. # forward UUCP traffic to our UUCP gateway
  631. R$*<@@$*.UUCP>$*        $#tcpld$@@$F$:$1<@@$2.UUCP>    uucp mail
  632.  
  633. # On monet, things are set up with the following two rules.
  634. ## hide behind a gateway when talking to people who don't speak domains
  635. #R$*<@@$*.arpa>$*        $#tcp$@@$2.arpa$:$1<@@$2.arpa>$3    user@@host.arpa
  636. #
  637. ## but don't hide if they do.
  638. #R$*<@@$*>$*        $#tcpld$@@$2$:$1<@@$2>$3        user@@host.domain
  639.  
  640. # Instead, we hide all the time unless we're within our local domain.
  641. R$*<@@$*.$D>$*        $#tcpld$@@$2.$D$:$1<@@$2.$D>$3    user@@host.our.domain
  642. R$*<@@$*>$*        $#tcp$@@$2$:$1<@@$2>$3        user@@host.domain
  643.  
  644. # remaining names must be local
  645. R$+            $#local$:$1            everything else
  646. @
  647.  
  648.  
  649. 1.2
  650. log
  651. @convert From to >From.
  652. @
  653. text
  654. @d32 1
  655. a32 1
  656. CwLOCAL sprite 
  657. d561 4
  658. @
  659.  
  660.  
  661. 1.1
  662. log
  663. @Initial revision
  664. @
  665. text
  666. @d365 1
  667. a365 1
  668. Mprog,    P=/sprite/cmds/sh,   F=lsDFMe,   S=10, R=20, A=sh -c $u
  669. @
  670.